package com.ck.model.company.dto;

import com.ck.annotation.Children;
import com.ck.annotation.Id;
import com.ck.annotation.ParentId;

import java.io.Serializable;
import java.util.List;

/**
 * 图片分组树DTO
 *
 * @author dxy
 * @date 2018/7/12 16:27
 */
public class ProgramPictureGroupTreeDTO implements Serializable {
    private static final long serialVersionUID = -2249991089861679667L;
    /**
     * 图片组ID
     */
    @Id
    private Long pictureGroupId;
    /**
     * 图片组父ID
     */
    @ParentId
    private Long pid;
    /**
     * 上级图片组名称
     */
    private String parentPicutreGroupName;
    /**
     * 图片组名称
     */
    private String label;
    /**
     * 图片组编码
     */
    private String picureGroupCode;
    /**
     * 子分组
     */
    @Children
    private List<ProgramPictureGroupTreeDTO> children;
    /**
     * 是否默认选中
     */
    private Boolean checked;
    /**
     * 是否自动展开
     */
    private Boolean open;

    /**
     * 图片数量
     */
    private Long pictureNum;

    public Long getPictureGroupId() {
        return pictureGroupId;
    }

    public void setPictureGroupId(Long pictureGroupId) {
        this.pictureGroupId = pictureGroupId;
    }

    public Long getPid() {
        return pid;
    }

    public void setPid(Long pid) {
        this.pid = pid;
    }

    public String getParentPicutreGroupName() {
        return parentPicutreGroupName;
    }

    public void setParentPicutreGroupName(String parentPicutreGroupName) {
        this.parentPicutreGroupName = parentPicutreGroupName;
    }

    public String getLabel() {
        return label;
    }

    public void setLabel(String label) {
        this.label = label;
    }

    public String getPicureGroupCode() {
        return picureGroupCode;
    }

    public void setPicureGroupCode(String picureGroupCode) {
        this.picureGroupCode = picureGroupCode;
    }

    public List<ProgramPictureGroupTreeDTO> getChildren() {
        return children;
    }

    public void setChildren(List<ProgramPictureGroupTreeDTO> children) {
        this.children = children;
    }

    public Boolean getChecked() {
        return checked;
    }

    public void setChecked(Boolean checked) {
        this.checked = checked;
    }

    public Boolean getOpen() {
        return open;
    }

    public void setOpen(Boolean open) {
        this.open = open;
    }

    public Long getPictureNum() {
        return pictureNum;
    }

    public void setPictureNum(Long pictureNum) {
        this.pictureNum = pictureNum;
    }

    @Override
    public String toString() {
        return "ProgramPictureGroupTreeDTO{" +
                "pictureGroupId=" + pictureGroupId +
                ", pid=" + pid +
                ", parentPicutreGroupName='" + parentPicutreGroupName + '\'' +
                ", label='" + label + '\'' +
                ", picureGroupCode='" + picureGroupCode + '\'' +
                ", children=" + children +
                ", checked=" + checked +
                ", open=" + open +
                ", pictureNum=" + pictureNum +
                '}';
    }
}
